package com.jnxx.okr.mapper;

import com.jnxx.okr.domain.Okr;
import com.jnxx.basic.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author haha
 * @since 2023-09-20
 */
public interface OkrMapper extends BaseMapper<Okr> {

    List<Okr> findByIds(@Param("okrIds") Integer[] okrIds);

    List<Okr> findOkrBycycleId(Long cycleId);

    List<Okr> findByParentId(Long id);

    void updateProgress(Okr okr);

    String findNameById(Long parentId);

    void delByParentId(Long id);

    Okr findParent(Long parentId);

    List<Okr> findOkrByLeader(Long leaderId);

    List<Long> findOkrIdsBycycleId(Long cycleId);

    List<Okr> findByIdsAndCycleId(@Param("okrIds") Integer[] okrIds, @Param("cycleId") Long cycleId);

    List<Okr> findByCycleIdAndStaffId(@Param("staffId") Long staffId, @Param("cycleId") Long cycleId);

    Long[] getSubOkrIdList(Long id);
}
